#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QDebug>
#include "card.h"
#include <QLabel>
#include <QTimer>

#define main_width 440
#define main_heigth 780
#define group_num 34        //总共 group_num * 3 个卡片

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

    //重写画家事件
    void paintEvent(QPaintEvent *event);

    //栏里面的卡片
    Card * cardArr[10];

    //执行每个卡片的连接connect
    void cardConnect(Card * card);

    //执行点击后动画
    void cardAnimation(Card * card);
    //重新执行动画（平移时）
    void cardAnimationRepeat(Card * card, int posXX);

    //随机生成的数组（用于生成卡片类别）
    int cardGroup[group_num * 3];
    //所有卡片的总数（用于判断是否胜利）
    int AllCardNums = group_num * 3;
    //所有卡片的地址
    Card * allCardArr[group_num * 3];

    //游戏结束
    void gameOver(int isWin = 0);
    //标签控件 游戏结束时防止点击
    QLabel * label_gameOver = nullptr;
    //定时器 实现突出强调
    QTimer * label_timer = nullptr;

private:
    Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
